﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EnumUtils;
using EnumUtils.Extensions;
using EnumUtilsTests;
using EnumUtilsTests.Extensions;
using EnumUtilsTests.TestingEnums;


namespace TestingGrounds
{
  internal class Program
  {
    static int Main( string[] args ) {
      var testInstance = new EnumFlagsUtilitiesTests();
      //uint executionCount = 0U;
      //testInstance.OperationExecuted += 
      //  delegate( bool operationExecuted ) { 
      //                                       string operationExecutionResultString = ((operationExecuted) ? "succeeded" : "failed"); 
      //                                       Console.WriteLine("Operation {0}", operationExecutionResultString);
      //                                       ++executionCount;
      //                                     };
      //testInstance.ForeachEnumFlagDoesOperationExecuteOnEnumFlagsTest();
      //Console.Write("\n\n");
      //Console.WriteLine("Total number of times operation was executed: {0}", executionCount);


      testInstance.ForeachEnumFlagDoesOperationExecuteOnEnumFlagsTest();




      Console.WriteLine("Press any key to terminate...");
      Console.ReadKey(true);
      return 0;
    }
  }
}
